import numpy as np
the_in=[]
the_out={}
the_in=input("输入数组：")
the_in=the_in.split(" ")
if len(the_in)<=1:
    print("最大值：",the_in)
else:
    j=i=n=1
    k=2
    sum_z=[]
    #i用于记录次数，初始值为1，即第一次分别取the_in的第二位到最后一位([1:])和最后一位到第一位([:-1])
    # 这两个值分别赋给字典the_out的第一位(key=1)和第二位(key=2),此时j用于记录从前往后取，k负责记录从后往前取
    # 循环结束后将the_in原本的值赋给the_out的最后一位，此时key=k-1
    while i<len(the_in):
        the_out[j]=the_in[i:]
        the_out[k]=the_in[:-i]
        i=i+1
        j=j+2
        k=k+2
    the_out[k-1]=the_in
print("子集合如下：",the_out)

while n<=k-1:
    tmp_sum=0
    for m in the_out[n]:
        tmp_sum=tmp_sum+int(m)
    sum_z.append(tmp_sum)
    n=n+1
print(max(sum_z))